#定义一个学生操作类，用于实现数据库操作
#导入pymysql
import pymysql

#创建数据库操作类
class Manager:
	def __init__(self):
		#self.db=db
		#打开数据库连接
		self.db=pymysql.connect(host="localhost",user="root",password="",db="mydb",charset="utf8")
		#创建游标
		self.cursor = self.db.cursor()


	#定义一个学生信息的输出函数
	def showStu(self):
		'''
		学生信息的输出函数
		'''
		#self.name  = name

		sql="select id,name,age,classid from stu"

		try:
			#执行查询
			self.cursor.execute(sql)

			data = self.cursor.fetchall()
			#返回结果
			return data
		except Exception as err:
			print("sql执行出错，原因：",err)
	
	#定义添加学生信息函数
	def addStu(self,name,age,classid):
		self.name=name
		self.age=age
		self.classid=classid

		sql ="insert into stu(name,age,classid) values('%s','%s','%s')"%(self.name,self.age,self.classid)

		try:
			#执行插入
			self.cursor.execute(sql)

			data = self.cursor.rowcount
			print("添加成功！")
			self.db.commit()
		except Exception as err:
			self.db.rollback()
			print("sql执行出错，原因：",err)

		#定义一个学生信息的删除函数
	def delStu(self,name):
		'''
		学生信息的删除函数
		'''
		self.name  = name

		sql="delete from stu where name ='%s'"%(self.name)

		try:
			#执行删除操作
			self.cursor.execute(sql)
			print("删除成功！")
			
		except Exception as err:
			self.db.rollback()
			print("sql执行出错，原因：",err)

	#析构函数 用于关闭数据库连接
	def __del__(self):
		self.db.close()






